ICTPRG526
Maintain functionality of legacy code programs


Application

This unit describes the skills and knowledge required to maintain the functionality of legacy code programs.

It applies to individuals working in software development who are required to maintain legacy programs, updating them as required.

No licensing, legislative or certification requirements apply to this unit at the time of publication.


Elements and Performance Criteria

ELEMENT

PERFORMANCE CRITERIA

Elements describe the essential outcomes.

Performance criteria describe the performance needed to demonstrate achievement of the element.

1. Determine the functional changes required

1.1 Consult the user to determine, and document, the functional change required

1.2 Clarify the impact of changes with operational personnel

2. Review legacy language

2.1 Identify the basic structures of the legacy language

2.2 Review the data storage of the legacy language with regard to global variables, modularisation, cohesion and coupling

2.3 Review the basic algorithms of the legacy language

3. Identify and isolate the change

3.1 Review the technical documentation for the system, to determine which modules to change

3.2 Review the source code to determine program logic and flow

3.3 Update the technical documentation to reflect the current state of the program

4. Determine the framework for change

4.1 Determine the change approach to be used to implement the change

4.2 Ascertain and detail the risks for each approach

4.3 Determine the personnel who will make the changes

5. Design the change

5.1 Develop the changes required, considering the impact of the changes on other parts of the system

5.2 Document the changes according to change-management standards

6. Code the change

6.1 Identify and obtain, the appropriate hardware and software for the change

6.2 Write the code according to programming standards

6.3 Compile and unit test the changes

6.4 Document the changes according to programming standards

7. Test the change

7.1 System test the changes and record the outcomes

7.2 Perform user acceptance testing and record the outcomes

7.3 Sign off the change request

8. Archive the system

8.1 Create a new version of software, according to configuration management standards

8.2 Archive the development system, including the source code, compilers and test data

Evidence of Performance

Evidence of the ability to:

read legacy language

identify and isolate the required change

implement the change via the chosen technique.

Note: If a specific volume or frequency is not stated, then evidence must be provided at least once.


Evidence of Knowledge

To complete the unit requirements safely and effectively, the individual must:

explain operational procedures on the required operating system

outline the organisational standards for software development

define security and viruses

identify privacy legislation and copyright with regard to the legacy code, the particular system involved and its data

define the technical terminology related to reading help files and manuals

outline different types of software.


Assessment Conditions

Gather evidence to demonstrate consistent performance in conditions that are safe and replicate the workplace. Noise levels, production flow, interruptions and time variances must be typical of those experienced in the programming and software development industry, and include access to:

documents detailing the organisational standards for software development

the existing legacy code

appropriate compilers

the appropriate learning and assessment support.

Assessors must satisfy NVR/AQTF assessor requirements.


Foundation Skills

This section describes language, literacy, numeracy and employment skills incorporated in the performance criteria that are required for competent performance.

Skill

Performance Criteria

Description

Reading

2.1, 2.2, 2.3, 3.1, 3.2

Analyses, and interprets, technical information and defines specific features

Writing

3.3, 4.2, 5.2, 6.2, 6.4, 7.1, 7.2

Completes documentation accurately using industry-relevant terminology and the appropriate structure for the target audience

Interact with others

1.1, 1.2

Shares knowledge, information and experience openly, liaising with colleagues to achieve the best possible outcome

Get the work done

4.1, 4.2, 4.3, 5.1, 6.1, 6.3, 7.1, 7.2, 7.3, 8.1, 8.2

Uses a formal change management process, identifying and evaluating several choices

Evaluates the effectiveness of decisions, in terms of how well they meet stated design specifications

Uses the features of digital tools to complete complex tasks


Sectors

Programming and software development